﻿using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Linq;
using System.Text;
using UCL.Powersource.Analysis;

namespace UCL.Powersource.ViewModels.Analysis
{
    public interface IStatisticViewModel : IViewModel, ILabel
    {
        IReportingContext ActiveIReportingContext { get; }
        void OnReportingContextChanged(IReportingContext reportingContext);
        void Recalculate();
        bool TryRegisterStatistic(IStatistic statistic);
        string Title { get; }
        string Description { get; }
        bool IsConsumingActiveStatistic { get; }
        bool IsConsumingShowNormalized { get; }
        bool IsBuildRequired { get; }
        StatisticViewModelTypes StatisticViewModelType { get; }

        void ActiveTimeFrameChanged();
        void ActiveTfsTeamProjectConfigurationChanged();
        void ActiveStatisticChanged();
        void ShowNormalizedChanged();
        void TimeFramesCollectionChanged(object sender, NotifyCollectionChangedEventArgs e);
        void TeamProjectConfigurationsCollectionChanged(object sender, NotifyCollectionChangedEventArgs e);
        void StatisticsCollectionChanged(object sender, NotifyCollectionChangedEventArgs e);

    }



}
